package com.web.exiaodao.remote.service;

import com.web.exiaodao.business.entity.User;
import com.web.exiaodao.remote.vo.UserVo;
import com.web.webstart.base.exception.BusinessException;
import com.web.webstart.base.service.ApiBaseService;
import com.web.webstart.base.util.result.XaResult;

import java.util.List;

public interface ApiUserService extends ApiBaseService<UserVo,User>{
	
	/**
	 * 根据推荐人手机号查询用户（三级）
	 * @Title: findUserList 
	 * @param recommendPhone
	 * @return
	 * @throws BusinessException
	 */
	public XaResult<List<UserVo>> findUserList(String recommendPhone) throws BusinessException;
    /**
     * 验证手机号是否存在
     * @param mobile
     * @return
     */
    public User validMobile(String mobile);

    /**
     * 验证用户id是否存在
     * @param userId
     * @return
     */
    public User validUserId(String userId);

    /**
     * 验证用户名是否存在
     * @param userName
     * @return
     */
    public User validUserName(String userName);

    /**
     * 登录
     * @param mobile
     * @param password
     * @return
     */
    public XaResult<UserVo> login(String mobile, String password) throws BusinessException;

    /**
     * 修改密码
     * @param id
     * @param oldpassword
     * @param newpassword
     * @return
     */
    public XaResult<UserVo> updatePwd(Long id,String oldpassword,String newpassword);

    /**
     * 忘记密码
     * @param mobile
     * @param newpassword
     * @return
     */
    public XaResult<UserVo> forgetPwd(String mobile ,String newpassword);

    /**
     * 忘记交易密码
     * @param mobile
     * @param newpassword
     * @return
     */
    public XaResult<UserVo> forgetPayPwd(String mobile ,String newpassword);

    /**
     * 修改交易密码
     * @param id
     * @param oldpassword
     * @param newpassword
     * @return
     */
    public XaResult<UserVo> updatePayPwd(Long id,String oldpassword,String newpassword);
}
